/* interfaces.h -- Header
 *
 * Time-stamp: <2007-06-28 03:47:34 BRT Diogo F. S. Ramos>
 *
 *
 */
#ifndef INTERFACES_H
#define INTERFACES_H

/* Enums */

/* Enum for std_button_handler use */
enum
{
    MENUITEM_ABOUT,
    MENUITEM_NEW,
    MENUITEM_SAVE,
    MENUITEM_SAVE_AS,
    MENUITEM_LOAD,
    MENUITEM_QUIT,
    MENUITEM_SCHEDULE_DISC_ADD,
    MENUITEM_SCHEDULE_DISC_REM,
    MENUITEM_PRINT_TABLE,
    BUTTON_DISC_ADD,
    BUTTON_DISC_REM,
    BUTTON_DISC_ADD_SEED,
    BUTTON_DISC_REM_SEED
};

/* Enum for std_dialog_handler use */
enum
{
    DIALOG_NEW,
    DIALOG_FILECHOOSER_SAVE,
    DIALOG_FILECHOOSER_LOAD,
    DIALOG_ABOUT
};

/* Enum for the treeview_disciplines */
enum
{
    PTR_DATA,
    N_STORE_DISCIPLINES
};

/* Discipline TreeView */
enum
{
    DISCIPLINE_COD,
    DISCIPLINE_CLASS,
    DISCIPLINE_NAME,
    DISCIPLINE_CREDITS,
    DISCIPLINE_DAY,
    DISCIPLINE_BEGIN,
    DISCIPLINE_END,
    DISCIPLINE_N_COLUMN
};

/* Schedule TreeView */
enum
{
    SCHEDULE_BEGIN_INT,
    SCHEDULE_END_INT,
    SCHEDULE_SUNDAY,
    SCHEDULE_MONDAY,
    SCHEDULE_TUESDAY,
    SCHEDULE_WEDNESDAY,
    SCHEDULE_THURSDAY,
    SCHEDULE_FRIDAY,
    SCHEDULE_SATURDAY,
    SCHEDULE_BEGIN,
    SCHEDULE_END,
    SCHEDULE_N_COLUMN
};


/* Protoptipes */

GtkWidget* initial_setup( GladeXML *xmlTree, semester *sem );

void
add_column(GtkTreeView *treeview,
	   const gchar *title,
	   GtkCellLayoutDataFunc func,
	   const int num_coluna_modelo,
	   gpointer func_data);

/* Renders ***********************************************************/
void
render_discipline_cod(G_GNUC_UNUSED GtkCellLayout *layout,
		      GtkCellRenderer *renderer,
		      GtkTreeModel *model,
		      GtkTreeIter *iter,
		      G_GNUC_UNUSED gpointer user_data);
void
render_discipline_name(G_GNUC_UNUSED GtkCellLayout *layout,
		       GtkCellRenderer *renderer,
		       GtkTreeModel *model,
		       GtkTreeIter *iter,
		       G_GNUC_UNUSED gpointer user_data);
void
render_discipline_credits(G_GNUC_UNUSED GtkCellLayout *layout,
			  GtkCellRenderer *renderer,
			  GtkTreeModel *model,
			  GtkTreeIter *iter,
			  G_GNUC_UNUSED gpointer user_data);
void
render_discipline_day(G_GNUC_UNUSED GtkCellLayout *layout,
		      GtkCellRenderer *renderer,
		      GtkTreeModel *model,
		      GtkTreeIter *iter,
		      G_GNUC_UNUSED gpointer user_data);

/********************************************************************/



#endif
